/**
 * 学习目标：如何创建泛型函数
 * 作用：让函数可以更加灵活，方便复用
 * 语法： function xxx<T>(a:T):T {}
 */

//泛型函数
function test<T>(a: T): T {
  //源码内部类似调用typeof a,得到T真正对应的类型
  return a
}

let res1 = test(1);
let res2 = test('bb');
let res3 = test([1, 2]);
let res4 = test(['w', 'r']);
let res5 = test({ name: 'zs', age: 18 });
let res6 = test(true);